package it.win4buy.components
{
    import flash.display.Sprite;

    import mx.controls.DataGrid;
    import mx.core.UIComponent;

    public class DatagridExtentedMx extends DataGrid
    {
        /**
         * #f4dc11 = giallo scuro
         * #b0aeae = grigio chiaro
         * #777777 = grigio scuro
         *
         */

        /**
         *First Colour
         */
        private var _rowColor:uint;


        /**
         *Alternated Colour
         */
        private var _altRowColor:uint;


        //------------------------------------------------------------------------------------------
        //
        //
        //	Getters / Setters
        //
        //
        //------------------------------------------------------------------------------------------

        public function set altRowColor(value:uint):void
        {
            this._altRowColor=value;
        }

        public function get altRowColor():uint
        {
            return _altRowColor;
        }

        public function set rowColor(value:uint):void
        {
            this._rowColor=value;
        }

        public function get rowColor():uint
        {
            return _rowColor;
        }




        //------------------------------------------------------------------------------------------
        //
        //
        //	Constructor
        //
        //
        //------------------------------------------------------------------------------------------




        public function DatagridExtentedMx()
        {
            super();

        }



        //------------------------------------------------------------------------------------------
        //
        //
        //	Override
        //
        //
        //------------------------------------------------------------------------------------------

        /**
         *
         *  Sets the alternative colours of the Rows
         * #
         * #
         *
         */
        override protected function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void
        {

            //valorizzato solo rowColor, quindi !=0, in questo caso tutte le righe vengono colorate
            //con questo valore
            if (_altRowColor == 0 && _rowColor != 0)
            {
                super.drawRowBackground(s, rowIndex, y, height, _rowColor, dataIndex);
            }
            //se vengono valorizzati sia rowColor che altRowColor, quindi entrambi !=0, allora
            //verranno utilizzati entrambi i colori, alternati
            else if (_altRowColor != 0 && _rowColor != 0)
            {

                if (rowIndex % 2 == 0)
                    super.drawRowBackground(s, rowIndex, y, height, _rowColor, dataIndex);
                else
                    super.drawRowBackground(s, rowIndex, y, height, _altRowColor, dataIndex);
            }
            //se nessuna proprietà viene valorizzata viene utilizzato il valore di default
            else
                super.drawRowBackground(s, rowIndex, y, height, color, dataIndex);

        }




    }
}